// miniprogram/pages/order/order.js
var app = new getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    show: null,
    order: [],
    slideButtons: [{
      text: '已完成',
      type: "default"
    }, {
      text: '删除',
      type: "warn"
    }]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: async function (options) {
    // 判断用户是否授权登录  如果已授权则自动登录
    wx.showLoading({
      title: '加载中',
    })

    setTimeout(function () {
      wx.hideLoading()
    }, 500)

    // 读取数据库中的订单
    const db = wx.cloud.database();
    await db.collection("userInfo").where({
      _openid: app.globalData.openId
    }).get().then(res => {
      this.setData({
        order: res.data[0].order
      })
    })
  },
  // 监听用户登录
  bindGetUserInfo: function (e) {
    if (e.detail.rawData) {
      var rawData = JSON.parse(e.detail.rawData);
      app.globalData.userInfo.nickName = rawData.nickName;
      app.globalData.userInfo.avatarUrl = rawData.avatarUrl;
      app.globalData.login = true;
      this.setData({
        show: false
      })
    }
  },
  // 监听tabBar点击事件
  onTabItemTap: function () {
    this.setData({
      show: !app.globalData.login
    });
    this.onLoad();
  },
  // 监听用户删除订单
  deleteOrder:  function (e) {
    wx.showModal({
      title: '提示',
      content: '是否确定删除订单',
      success:async(res) => {
        if (res.confirm) {
          let delindex = e.currentTarget.dataset.delindex;
          let index = e.currentTarget.dataset.index;
          // 修改当前order中的这一数据
          this.data.order.splice(delindex, 1);
          this.data.order.forEach((item) => {
            if (item.orderId > index) {
              item.orderId--
            }
          })
          await wx.cloud.callFunction({
            name: "setOrder",
            data: {
              openId: app.globalData.openId,
              value: this.data.order
            }
          }).then(() => {
            this.onLoad();
          })
        } else if (res.cancel) {
          return ;
        }
      }
    })



  },
  // 监听用户确认已完成订单
  ok: async function (e) {
    let index = e.currentTarget.dataset.index;
    this.data.order.forEach((item) => {
      if (item.orderId === index) {
        item.serving = false;
        return;
      } 
    })
    await wx.cloud.callFunction({
      name: "setOrder",
      data: {
        openId: app.globalData.openId,
        value: this.data.order
      }
    }).then(() => {
      this.onLoad();
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})